One application of machine learning uses computer vision techniques to analyze and understand images in order to produce numerical or symbolic information from the images. These types of techniques can be used by a machine to recognize that a picture of a book contains an image of a book. The computer vision techniques achieve great success in fully supervised object recognition in which label images are used to train a recognition system. However, fully supervised object recognition demands a large amount of labeled training data, which is costly to obtain and not always available because most labeled training data is created by manual human labeling of images. To avoid the need for extensive human involvement, many unsupervised approaches have been proposed for training object recognition systems. While important progresses have been made, these unsupervised approaches require certain conditions, e.g., large occupation of foreground objects, exclusion of irrelevant other object types and clean backgrounds. These conditions limit application of unsupervised object recognition.